package br.com.drestranho.escola.managed;

import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import br.com.drestranho.escola.dao.FuncionarioDAO;
import br.com.drestranho.escola.entity.Cargo;
import br.com.drestranho.escola.entity.Funcionario;

@ManagedBean
@SessionScoped
public class SenhaManager {
	private String password;
	private String login;
	@EJB
	FuncionarioDAO funcionarioDAO;
	Funcionario funcionario;
	String novaSenha1;
	String novaSenha2;

	public String getNovaSenha1() {
		return novaSenha1;
	}

	public void setNovaSenha1(String novaSenha1) {
		this.novaSenha1 = novaSenha1;
	}

	public String getNovaSenha2() {
		return novaSenha2;
	}

	public void setNovaSenha2(String novaSenha2) {
		this.novaSenha2 = novaSenha2;
	}

	public Funcionario getFuncionario() {
		return funcionario;
	}

	public void setFuncionario(Funcionario funcionario) {
		this.funcionario = funcionario;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
	public String fazLogin() {
		funcionario = null;
		if (password.isEmpty() || login.isEmpty()) {
			return "indexSecretaria";
		}
		else {
			// Obtem o funcionario do BD com igual nome E senha, se houver
			funcionario = funcionarioDAO.pesqBeanNome(login, password);
			if (funcionario==null) {
				FacesMessage msg = new FacesMessage("Usuário ou senha inválido!");
				/* Obtem a instancia atualmente definida do FacesContext e adiciona a mensagem de erro nele. */
				FacesContext.getCurrentInstance().addMessage("erro", msg);
				return "";
			} else if (funcionario.getCargo()==Cargo.secretaria) {
				Perfil.funcionarioLogado = funcionario;
				return "indexSecretaria";
			} else if (funcionario.getCargo()==Cargo.professor) {
				Perfil.funcionarioLogado = funcionario;
				return "indexProfessor";
			}
		}
		return "";
	}
	
	public String validaMudaSenha() {
		System.out.println("*"+funcionario.getNome()+" = "+funcionario.getSenha());
		return "";
	}
	
	public String voltar() {
		if (funcionario.getCargo()==Cargo.secretaria) {
			return "indexSecretaria";
		} else if (funcionario.getCargo()==Cargo.professor) {
			return "indexProfessor";
		}
		return "";
	}
	
}
